package cn.tedu.charging.order.client;

import cn.tedu.charging.common.protocol.JsonResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * deviceClient是当前订单用来调用设备功能的唯一入口
 * 底层实现是一个代理类,代理会根据在类上注解拼接请求 url
 * 会根据满足接口的调用方法注解 拼接完整的url 发送请求
 * 为了实现负载均衡 底层依赖还有spring-cloud-starter-loadbalancer
 */
@FeignClient(name="charging-device")
public interface DeviceClient {
    /*
    调用 设备,传递枪id,获取检查枪状态结果 是否可用
     */
    @GetMapping("/device/gun/check")
    JsonResult<Boolean> checkGun(@RequestParam("gunId") Integer gunId);
}
